package Entidades;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;

/*clase para utilizada para representar el mapa de la isla*/

public class MapaIsla {

    private HashMap<String, Collection<Distancia>> map;  
    /*nombres de las ciudades*/
    public static final String Ar = "aragaey";
    public static final String As = "ase";
    public static final String Br = "bresol";
    public static final String Bu = "bulovoe";
    public static final String Ca = "cabe";
    public static final String Ce = "cenede";
    public static final String Er = "ergintone";
    public static final String Ic = "icaedur";
    public static final String Mi = "mixocu";
    public static final String Pe = "peregaey";
    public static final String Vi = "vinizaile";
    
    
    /*constructor*/
    
    public MapaIsla(){
    	this.map = new HashMap<String, Collection<Distancia>>();
    	this.initState();
    }
    
    public void initState()
    {
    	Distancia Ar1 = new Distancia (Br,150);
    	Distancia Ar2 = new Distancia (Er,100);
    	ArrayList <Distancia> listaAr = new ArrayList<Distancia>();
    	listaAr.add(Ar1);
    	listaAr.add(Ar2);
    	
    	Distancia Br1 = new Distancia (Ar,150);
    	Distancia Br2 = new Distancia (Vi,400);
    	ArrayList <Distancia> listaBr = new ArrayList<Distancia>();
    	listaBr.add(Br1);
    	listaBr.add(Br2);
    	
    	Distancia Er1 = new Distancia (Ar,100);
       	Distancia Er2 = new Distancia (Pe,180);
       	Distancia Er3 = new Distancia (Bu,200);
    	ArrayList <Distancia> listaEr = new ArrayList<Distancia>();
    	listaEr.add(Er1);
    	listaEr.add(Er2);
    	listaEr.add(Er3);
    	
       	Distancia Pe1 = new Distancia (Er,180);
       	Distancia Pe2 = new Distancia (Vi,450);
    	ArrayList <Distancia> listaPe = new ArrayList<Distancia>();
    	listaPe.add(Pe1);
    	listaPe.add(Pe2);
    	
       	Distancia Vi1 = new Distancia (Pe,450);
       	Distancia Vi2 = new Distancia (Br,400);
       	Distancia Vi3 = new Distancia (Ca,200);
       	Distancia Vi4 = new Distancia (Mi,300);
       	Distancia Vi5 = new Distancia (Ic,100);
    	ArrayList <Distancia> listaVi = new ArrayList<Distancia>();
    	listaVi.add(Vi1);
    	listaVi.add(Vi2);
    	listaVi.add(Vi3);
    	listaVi.add(Vi4);
    	listaVi.add(Vi5);
       	
       	Distancia Bu1 = new Distancia (Er,200);
       	Distancia Bu2 = new Distancia (Ic,350);
    	ArrayList <Distancia> listaBu = new ArrayList<Distancia>();
    	listaBu.add(Bu1);
    	listaBu.add(Bu2);
    	
       	Distancia Ic1 = new Distancia (Bu,350);
       	Distancia Ic2 = new Distancia (Vi,100);
    	ArrayList <Distancia> listaIc = new ArrayList<Distancia>();
    	listaIc.add(Ic1);
    	listaIc.add(Ic2);
    	
       	Distancia Ca1 = new Distancia (Vi,200);
    	ArrayList <Distancia> listaCa = new ArrayList<Distancia>();
    	listaCa.add(Ca1);
    	
       	Distancia Mi1 = new Distancia (As,200);
       	Distancia Mi2 = new Distancia (Vi,300);
    	ArrayList <Distancia> listaMi = new ArrayList<Distancia>();
    	listaMi.add(Mi1);
    	listaMi.add(Mi2);
    	
       	Distancia As1 = new Distancia (Mi,200);
       	Distancia As2 = new Distancia (Ce,200);
    	ArrayList <Distancia> listaAs = new ArrayList<Distancia>();
    	listaAs.add(As1);
    	listaAs.add(As2);
       	
       	Distancia Ce1 = new Distancia (As,200);
    	ArrayList <Distancia> listaCe = new ArrayList<Distancia>();
    	listaCe.add(Ce1);
    	
    	map.put(Ar , listaAr);
    	map.put(Br , listaBr);
    	map.put(Er , listaEr);
    	map.put(Pe , listaPe);
    	map.put(Vi , listaVi);
    	map.put(Bu , listaBu);
    	map.put(Ic , listaIc);
    	map.put(Ca , listaCa);
    	map.put(Mi , listaMi);
    	map.put(As , listaAs);
    	map.put(Ce , listaCe);
    }

	public HashMap<String, Collection<Distancia>> getMap() {
		return map;
	}
    
}
